$\forall$$T$:Type, $f$:($T$$\rightarrow$$T$). \\[0ex]retraction($T$;$f$) \\[0ex]$\Rightarrow$ ($\forall$$L$:($T$ List), $x$, $y$, $a$, $b$:$T$. $x$=$f$$\ast$($y$) via $L$ $\Rightarrow$ $a$ before $b$ $\in$ $L$ $\Rightarrow$ $a$ = $f$+($b$))